#!/usr/bin/env python

### RPC_SERVER
bld.SAMBA3_SUBSYSTEM('rpc',
                    source='',
                    deps='RPC_PIPE_REGISTER')

bld.SAMBA3_SUBSYSTEM('RPC_CONFIG',
                    source='rpc_config.c',
                    deps='talloc')

bld.SAMBA3_SUBSYSTEM('RPC_NCACN_NP',
                    source='rpc_ncacn_np.c rpc_handles.c rpc_contexts.c',
                    deps='RPC_CONFIG auth auth_sam_reply RPC_PIPE_REGISTER npa_tstream')

bld.SAMBA3_SUBSYSTEM('RPC_SERVER_LOOP',
                    source='rpc_server.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_CRYPTO',
                     source='dcesrv_auth_generic.c',
                     deps = 'KRB5_PAC')

bld.SAMBA3_SUBSYSTEM('RPC_PIPE_REGISTER',
                    source='srv_pipe_register.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('SRV_ACCESS_CHECK',
                    source='srv_access_check.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_SERVER',
                    source='srv_pipe_hnd.c srv_pipe.c',
                    deps='''
                    RPC_CONFIG
                    RPC_NCACN_NP
                    RPC_SERVER_LOOP
                    RPC_CRYPTO
                    NDR_NAMED_PIPE_AUTH
                    ''')

### RPC_SERVICES
bld.SAMBA3_SUBSYSTEM('RPC_DSSETUP',
                    source='''dssetup/srv_dssetup_nt.c
                    ../../librpc/gen_ndr/srv_dssetup.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_EPMAPPER',
                    source='''epmapper/srv_epmapper.c
                    ../../librpc/gen_ndr/srv_epmapper.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_FSS_STATE',
                    source='''fss/srv_fss_state.c''',
                    deps='samba-util NDR_FSRVP_STATE')

bld.SAMBA3_SUBSYSTEM('RPC_FSS_AGENT',
                    source='''fss/srv_fss_agent.c
                    ../../librpc/gen_ndr/srv_fsrvp.c''',
                    deps='samba-util RPC_FSS_STATE')

bld.SAMBA3_SUBSYSTEM('RPC_EVENTLOG',
                    source='''eventlog/srv_eventlog_nt.c
                    eventlog/srv_eventlog_reg.c
                    ../../librpc/gen_ndr/srv_eventlog.c''',
                    deps='LIBEVENTLOG LIBCLI_WINREG_INTERNAL')

bld.SAMBA3_SUBSYSTEM('RPC_INITSHUTDOWN',
                    source='''initshutdown/srv_initshutdown_nt.c
                    ../../librpc/gen_ndr/srv_initshutdown.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_LSARPC',
                    source='''lsa/srv_lsa_nt.c
                    ../../librpc/gen_ndr/srv_lsa.c''',
                    deps='SRV_ACCESS_CHECK LIBLSA')

bld.SAMBA3_SUBSYSTEM('RPC_NETDFS',
                    source='''dfs/srv_dfs_nt.c
                    ../../librpc/gen_ndr/srv_dfs.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_NETLOGON',
                     source='''netlogon/srv_netlog_nt.c
                     ../../librpc/gen_ndr/srv_netlogon.c''')

bld.SAMBA3_SUBSYSTEM('RPC_NTSVCS',
                    source='''ntsvcs/srv_ntsvcs_nt.c
                    ../../librpc/gen_ndr/srv_ntsvcs.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_RPCECHO',
                    source='''echo/srv_echo_nt.c
                    ../../librpc/gen_ndr/srv_echo.c''',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_SAMR',
                    source='''samr/srv_samr_nt.c
                    samr/srv_samr_util.c
                    samr/srv_samr_chgpasswd.c
                    ../../librpc/gen_ndr/srv_samr.c''',
                    deps='PLAINTEXT_AUTH SRV_ACCESS_CHECK')

bld.SAMBA3_SUBSYSTEM('RPC_SPOOLSS',
                    source='''spoolss/srv_spoolss_nt.c
                    ../../librpc/gen_ndr/srv_spoolss.c
                    spoolss/srv_spoolss_util.c''',
                    deps='PRINTING PRINTBACKEND LIBCLI_WINREG_INTERNAL')

bld.SAMBA3_SUBSYSTEM('RPC_SRVSVC',
                    source='''srvsvc/srv_srvsvc_nt.c
                    ../../librpc/gen_ndr/srv_srvsvc.c''',
                    deps='samba-util tdb')

bld.SAMBA3_SUBSYSTEM('RPC_SVCCTL',
                    source='''svcctl/srv_svcctl_nt.c
                    svcctl/srv_svcctl_reg.c
                    ../../librpc/gen_ndr/srv_svcctl.c''',
                    deps='SERVICES LIBCLI_WINREG_INTERNAL')

bld.SAMBA3_SUBSYSTEM('RPC_WINREG',
                    source='''winreg/srv_winreg_nt.c
                    ../../librpc/gen_ndr/srv_winreg.c''',
                    deps='REG_FULL REGFIO REG_API_REGF NDR_PERFCOUNT')

bld.SAMBA3_SUBSYSTEM('RPC_WKSSVC',
                    source='''wkssvc/srv_wkssvc_nt.c
                    ../../librpc/gen_ndr/srv_wkssvc.c''',
                    deps='LIBNET')

bld.SAMBA3_MODULE('rpc_mdssvc_module',
                  subsystem='rpc',
                  allow_undefined_symbols=True,
                  source='''mdssvc/mdssvc.c
                  mdssvc/dalloc.c
                  mdssvc/marshalling.c
                  mdssvc/sparql_mapping.c
                  mdssvc/sparql_parser.c
                  mdssvc/sparql_lexer.c
                  mdssvc/srv_mdssvc_nt.c
                  ../../librpc/gen_ndr/srv_mdssvc.c''',
                  init_function='',
                  deps='samba-util ' + bld.env['libtracker'],
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('rpc_mdssvc_module'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('rpc_mdssvc_module'))

# RPC_SERVICE
bld.SAMBA3_SUBSYSTEM('RPC_SERVER_REGISTER',
                    source='rpc_ep_register.c ../librpc/rpc/dcerpc_ep.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('RPC_SERVICE',
                    source='rpc_service_setup.c rpc_modules.c',
                    deps='''
                    rpc
                    RPC_SERVER
                    RPC_SERVER_REGISTER
                    RPC_SAMR
                    RPC_LSARPC
                    RPC_WINREG
                    RPC_INITSHUTDOWN
                    RPC_DSSETUP
                    RPC_WKSSVC
                    RPC_SVCCTL
                    RPC_NTSVCS
                    RPC_NETLOGON
                    RPC_NETDFS
                    RPC_SRVSVC
                    RPC_SPOOLSS
                    RPC_EVENTLOG
                    RPC_RPCECHO
                    RPC_SERVER
                    RPC_EPMAPPER
		    RPC_FSS_AGENT
                    ''')

# RPC_DAEMONS
bld.SAMBA3_SUBSYSTEM('RPC_SOCK_HELPER',
                    source='rpc_sock_helper.c',
                    deps='RPC_SERVER_REGISTER')

bld.SAMBA3_SUBSYSTEM('EPMD',
                    source='epmd.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('LSASD',
                    source='lsasd.c',
                    deps='RPC_SOCK_HELPER samba-util')

bld.SAMBA3_SUBSYSTEM('FSSD',
                    source='fssd.c',
                    deps='samba-util')

bld.SAMBA3_SUBSYSTEM('MDSSD',
                    source='mdssd.c rpc_modules.c',
                    deps='RPC_SOCK_HELPER samba-util',
                    enabled=bld.env.with_spotlight)
